package com.example.demo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * <p>
 * 微信用户表
 * </p>
 *
 * @author ZhaoJianHui
 * @since 2025-04-28
 */
@Getter
@Setter
@ToString
@TableName("wx_users")
public class WxUsers implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @TableId(value = "user_id", type = IdType.AUTO)
    private Integer userId;

    /**
     * 公众号APPID
     */
    @TableField("appid")
    private String appid;

    /**
     * 用户openId
     */
    @TableField("openid")
    private String openid;

    /**
     * 用户untionId
     */
    @TableField("unionid")
    private String unionid;

    /**
     * 用户昵称
     */
    @TableField("nickname")
    private String nickname;

    /**
     * 用户头像路径
     */
    @TableField("headimgurl")
    private String headimgurl;

    /**
     * 用户绑定的手机号
     */
    @TableField("phone")
    private String phone;

    /**
     * 用户备注
     */
    @TableField("remark")
    private String remark;

    @TableField("gender")
    private Byte gender;

    @TableField("language")
    private String language;

    @TableField("country")
    private String country;

    @TableField("province")
    private String province;

    @TableField("city")
    private String city;

    @TableField("pure_phone")
    private String purePhone;

    @TableField("phone_security")
    private String phoneSecurity;

    @TableField("phone_mask")
    private String phoneMask;

    @TableField("pure_phone_security")
    private String purePhoneSecurity;

    @TableField("pure_phone_mask")
    private String purePhoneMask;

    @TableField("country_code")
    private String countryCode;

    @TableField("updated_at")
    private LocalDateTime updatedAt;

    @TableField("created_at")
    private LocalDateTime createdAt;

    @TableField("deleted_at")
    private LocalDateTime deletedAt;
}
